ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) এর API (Application Programming Interface) একটি শক্তিশালী ফিচার যা ব্যবহারকারীদের ডাটা ফেচ এবং আপডেট করার জন্য বিভিন্ন অ্যাপ্লিকেশন বা সিস্টেমের সাথে ইন্টারঅ্যাকশন করার সুযোগ দেয়। ম্যাজেন্টো API এর মাধ্যমে আপনি প্রোডাক্ট, গ্রাহক, অর্ডার ইত্যাদি সম্পর্কিত ডেটা ফেচ করতে এবং তা আপডেট করতে পারেন। এটি বিশেষত তৃতীয় পক্ষের অ্যাপ্লিকেশন বা ইন্টিগ্রেশন সিস্টেমের জন্য উপকারী, যেখানে ডাটা এক্সচেঞ্জ প্রয়োজন।
এখানে, আমরা Magento API এর মাধ্যমে ডাটা ফেচ এবং আপডেট করার প্রক্রিয়া এবং এটি কিভাবে কাজ করে তা বিস্তারিতভাবে আলোচনা করব।
১. Magento API Overview
Magento তে দুই ধরনের API রয়েছে:
- REST API: এটি সাধারণত ওয়েব সার্ভিসে ব্যবহার হয় এবং JSON বা XML ফরম্যাটে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়।
- SOAP API: এটি XML ফরম্যাটে ডেটা এক্সচেঞ্জ করে এবং পুরানো অ্যাপ্লিকেশন বা সিস্টেমের সাথে ইন্টিগ্রেশন করার জন্য ব্যবহার করা হয়।
Magento 2 তে REST API সবচেয়ে বেশি ব্যবহৃত হয় কারণ এটি আরও সহজ এবং মোবাইল অ্যাপ্লিকেশন এবং ওয়েব সার্ভিসের জন্য উপযুক্ত।
২. Magento API Authentication
Magento API ব্যবহার করার জন্য প্রথমে আপনাকে একটি Access Token তৈরি করতে হবে, যা API কল করার জন্য প্রয়োজনীয়। এটি Magento Admin Panel থেকে পাওয়া যাবে।
API Authentication Steps:
- Admin Panel এ লগইন করুন।
- System > Extensions > Integrations এ যান।
- "Add New Integration" বাটনে ক্লিক করুন।
- Integration এর জন্য একটি নাম দিন এবং প্রয়োজনীয় API এর জন্য অনুমতি দিন (যেমন, Customer, Product, Sales ইত্যাদি)।
- Save করুন এবং "Activate" বাটনে ক্লিক করুন।
- এখন আপনাকে Consumer Key, Consumer Secret, Access Token, এবং Access Token Secret প্রদান করা হবে, যা API কল করার জন্য ব্যবহৃত হবে।
৩. Magento API এর মাধ্যমে Data Fetching (ডেটা ফেচ করা)
Magento API এর মাধ্যমে বিভিন্ন ডেটা ফেচ করতে আপনি GET HTTP মেথড ব্যবহার করবেন। নিচে কিছু উদাহরণ দেওয়া হলো যেগুলি REST API এর মাধ্যমে ডেটা ফেচ করা যায়।
৩.১. Products Fetch করা
Magento API এর মাধ্যমে প্রোডাক্টের ডেটা ফেচ করতে আপনি নিচের GET রিকুয়েস্ট ব্যবহার করতে পারেন।
GET Request:
GET /V1/products
এটি সমস্ত প্রোডাক্টের তালিকা ফেরত দেবে। আপনি যদি নির্দিষ্ট প্রোডাক্টের তথ্য চান তবে এর সাথে প্রোডাক্ট আইডি যোগ করতে পারেন।
Example:
GET /V1/products/{sku}
এখানে {sku} হচ্ছে আপনার প্রোডাক্টের ইউনিক SKU কোড।
৩.২. Customers Fetch করা
Magento API এর মাধ্যমে গ্রাহক সম্পর্কিত ডেটা ফেচ করতে, আপনি নিম্নলিখিত GET রিকুয়েস্ট ব্যবহার করবেন।
GET Request:
GET /V1/customers
এটি সমস্ত গ্রাহকদের তথ্য ফেরত দেবে। আপনি যদি একটি নির্দিষ্ট গ্রাহকের তথ্য চান, তবে গ্রাহকের আইডি বা ইমেইল ব্যবহার করে ফেচ করতে পারেন।
Example:
GET /V1/customers/{customerId}
এখানে {customerId} হলো গ্রাহকের ইউনিক আইডি।
৩.৩. Orders Fetch করা
Magento API এর মাধ্যমে অর্ডার সম্পর্কিত ডেটা ফেচ করতে GET রিকুয়েস্ট ব্যবহার করা হয়।
GET Request:
GET /V1/orders
এটি সমস্ত অর্ডারের তালিকা ফেরত দেবে। যদি আপনি একটি নির্দিষ্ট অর্ডার খুঁজে বের করতে চান, তাহলে অর্ডার আইডি ব্যবহার করে ফেচ করতে পারেন।
Example:
GET /V1/orders/{orderId}
এখানে {orderId} হলো অর্ডারের ইউনিক আইডি।
৪. Magento API এর মাধ্যমে Data Updating (ডেটা আপডেট করা)
Magento API এর মাধ্যমে ডেটা আপডেট করার জন্য আপনি PUT বা POST HTTP মেথড ব্যবহার করবেন। নিচে কিছু উদাহরণ দেওয়া হলো যেগুলি REST API এর মাধ্যমে ডেটা আপডেট করা যায়।
৪.১. Product Update করা
Magento API এর মাধ্যমে একটি প্রোডাক্টের তথ্য আপডেট করতে PUT মেথড ব্যবহার করা হয়। এখানে একটি প্রোডাক্টের দাম পরিবর্তন করার উদাহরণ দেওয়া হলো।
PUT Request:
PUT /V1/products/{sku}
Request Body (JSON Format):
{
"product": {
"sku": "sample-sku",
"price": 29.99
}
}
এখানে, {sku} হচ্ছে প্রোডাক্টের ইউনিক SKU কোড এবং "price": 29.99 এর মাধ্যমে আপনি প্রোডাক্টের দাম আপডেট করতে পারেন।
৪.২. Customer Update করা
Magento API এর মাধ্যমে গ্রাহকের তথ্য আপডেট করতে, যেমন গ্রাহকের নাম বা ঠিকানা পরিবর্তন করতে PUT রিকুয়েস্ট ব্যবহার করা হয়।
PUT Request:
PUT /V1/customers/{customerId}
Request Body (JSON Format):
{
"customer": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@example.com"
}
}
এখানে, {customerId} হলো গ্রাহকের ইউনিক আইডি এবং গ্রাহকের নাম বা ইমেইল আপডেট করার জন্য JSON ডেটা প্রদান করা হয়েছে।
৪.৩. Order Update করা
Magento API এর মাধ্যমে অর্ডার সম্পর্কিত ডেটা আপডেট করতে PUT রিকুয়েস্ট ব্যবহার করা হয়।
PUT Request:
PUT /V1/orders/{orderId}
Request Body (JSON Format):
{
"order": {
"status": "complete"
}
}
এখানে, {orderId} হলো অর্ডারের ইউনিক আইডি এবং "status": "complete" এর মাধ্যমে অর্ডারের স্ট্যাটাস আপডেট করা হয়েছে।
৫. API Call Example (Curl Example)
এখানে একটি Curl কমান্ডের মাধ্যমে API কল করার উদাহরণ দেওয়া হলো, যা Magento API এর মাধ্যমে প্রোডাক্টের তথ্য ফেচ করবে।
curl -X GET "https://yourdomain.com/rest/V1/products/{sku}" -H "Authorization: Bearer {access_token}"
এখানে, {sku} হচ্ছে প্রোডাক্টের SKU এবং {access_token} হচ্ছে আপনার API অ্যাক্সেস টোকেন।
৬. সারাংশ
Magento API ব্যবহার করে আপনি আপনার ই-কমার্স সাইটের ডেটা সহজে ফেচ এবং আপডেট করতে পারেন। GET মেথডের মাধ্যমে ডেটা ফেচ করা যায় এবং PUT বা POST মেথডের মাধ্যমে ডেটা আপডেট করা যায়। REST API ইন্টিগ্রেশন আপনাকে গ্রাহক, প্রোডাক্ট, অর্ডার ইত্যাদি সম্পর্কিত ডেটা এক্সেস এবং ম্যানিপুলেট করার সুযোগ দেয়, যা বিশেষ করে তৃতীয় পক্ষের অ্যাপ্লিকেশন এবং সিস্টেমের সাথে ইন্টিগ্রেশন করতে সাহায্য করে।
Read more